text_input_leave (void *data,
struct zwp_text_input_v3 *text_input,
struct wl_surface *surface)
-{
- /*
- GtkIMContextWayland *context;
-
- if (!global->current)
- return;
-
- context = GTK_IM_CONTEXT_WAYLAND (global->current);
- TODO: does this clear text input or modify text?
- reset_preedit (context);
- */
-}
+{}
static void
text_input_preedit (void *data,
context->pending_preedit.cursor_end = cursor_end;
}
-
static void
text_input_preedit_apply (GtkIMContextWaylandGlobal *global)
{
zwp_text_input_v3_disable (global->text_input);
commit_state (context_wayland);
+
+ /* after disable, incoming state changes won't take effect anyway */
+ text_input_preedit (global, global->text_input, "", 0, 0);
+ text_input_preedit_apply (global);
+
global->current = NULL;
}